package com.macasa.panel.entity.api;

import java.util.List;

import com.macasa.enumerations.NetworkArch;
import com.macasa.enumerations.XenArch;
import com.macasa.enumerations.XenNetworkType;

public interface IXenServer extends IServer {

	/**
	 * @return the networkArch
	 */
	NetworkArch getNetworkArch();

	/**
	 * @param networkArch
	 *            the networkArch to set
	 */
	void setNetworkArch(final NetworkArch networkArch);

	/**
	 * @return the lvmGroupName
	 */
	String getLvmGroupName();

	/**
	 * @param lvmGroupName
	 *            the lvmGroupName to set
	 */
	void setLvmGroupName(final String lvmGroupName);

	/**
	 * @return the lvmGroupSize
	 */
	Integer getLvmGroupSize();

	/**
	 * @param lvmGroupSize
	 *            the lvmGroupSize to set
	 */
	void setLvmGroupSize(final Integer lvmGroupSize);

	/**
	 * @return the memorySize
	 */
	Integer getMemorySize();

	/**
	 * @param memorySize
	 *            the memorySize to set
	 */
	void setMemorySize(final Integer memorySize);

	/**
	 * @return the domMemorySize
	 */
	Integer getDomMemorySize();

	/**
	 * @param domMemorySize
	 *            the domMemorySize to set
	 */
	void setDomMemorySize(final Integer domMemorySize);

	/**
	 * @return the xenArch
	 */
	XenArch getXenArch();

	/**
	 * @param xenArch
	 *            the xenArch to set
	 */
	void setXenArch(final XenArch xenArch);

	/**
	 * @return the xenNetworkType
	 */
	XenNetworkType getXenNetworkType();

	/**
	 * @param xenNetworkType
	 *            the xenNetworkType to set
	 */
	void setXenNetworkType(final XenNetworkType xenNetworkType);

	/**
	 * @return the xenDeployed
	 */
	Boolean getXenDeployed();

	/**
	 * @param xenDeployed
	 *            the xenDeployed to set
	 */
	void setXenDeployed(final Boolean xenDeployed);

	/**
	 * @return the interfaces
	 */
	List<IInterface> getInterfaces();

	/**
	 * @param interfaces
	 *            the interfaces to set
	 */
	void setInterfaces(final List<IInterface> interfaces);

	/**
	 * @return the failovers
	 */
	List<IInterface> getFailovers();

	/**
	 * @param failovers
	 *            the failovers to set
	 */
	void setFailovers(final List<IInterface> failovers);

}
